jihyeon's Blog

2023-11-13

평범한 배낭


https://www.acmicpc.net/problem/12865

가방에 물건 쪼개서 넣는 것이 아니기 때문에 탐욕 알고리즘으로 풀지 않고 모든 경우의 수를 찾아서 도출해내야함.

image

n, k = map(int, input().split()) dp = [[0] * (k + 1) for _ in range(n + 1)] for i in range(1, n + 1): weight, value = map(int, input().split()) for j in range(1, k + 1): if j < weight: dp[i][j] = dp[i - 1][j] else: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight] + value) print(dp[n][k])

Copyright (c) 2023. jihyeon Choi. | All Right Reserved.